package com.xtzn.service;

import java.util.List;

import com.xtzn.mapper.entity.AppleAccount;
import com.xtzn.vo.DataRequest;


/**
 * 功能描述: <br>
 * 苹果账号curd
 * 
 * @author zyw
 * @version [版本号, 2018年4月10日]
 */
public interface IAppleAccountService {

	/**
	 * 
	 * 功能描述: <br>
	 * 根据页码获取苹果账号信息
	 * 
	 * @param pageSize 页面大小
	 * @param skips 从哪条数据开始
	 * @author zyw
	 * @version [版本号, 2018年4月9日]
	 */
	public List<AppleAccount> selectAppleAccountByPageIndex(DataRequest dataRequest);
	/**
	 * 
	 * 功能描述: <br>
	 * 查询使用中的苹果账号
	 * 
	 * @author zyw
	 * @version [版本号, 2018年4月16日]
	 */
	public List<AppleAccount> selectUsingAppleAccount(Integer userId);
	/**
	 * 
	 * 功能描述: <br>
	 * 查看单个苹果账号信息
	 * 
	 * @param id 苹果账号id
	 * @author zyw
	 * @version [版本号, 2018年4月9日]
	 */
	public AppleAccount selectAppleAccountById(Integer id);
	/**
	 * 
	 * 功能描述: <br>
	 * 更新苹果账号信息
	 * 
	 * @param map 苹果账号相关信息
	 * @author zyw
	 * @version [版本号, 2018年4月9日]
	 */
	public int updateAppleAccountContent(AppleAccount appleAccount);
	/**
	 * 
	 * 功能描述: <br>
	 * 重置苹果账号状态
	 * 
	 * @author zyw
	 * @version [版本号, 2018年4月9日]
	 */
	public int updateAppleAccountStatus(Integer userId);
	/**
	 * 
	 * 功能描述: <br>
	 * 删除单个苹果账号信息
	 * 
	 * @param id 要删除的苹果账号id
	 * @author zyw
	 * @version [版本号, 2018年4月9日]
	 */
	public int deleteById(Integer id);
	/**
	 * 
	 * 功能描述: <br>
	 * 批量删除苹果账号信息
	 * 
	 * @param list 要删除的苹果账号id集合
	 * @author zyw
	 * @version [版本号, 2018年4月9日]
	 */
	public int deleteBatchById(List<Integer> list);
	/**
	 * 
	 * 功能描述: <br>
	 * 创建新的苹果账号信息
	 * 
	 * @param map 苹果账号相关信息
	 * @author zyw
	 * @version [版本号, 2018年4月10日]
	 */
	public int insertAppleAccount(AppleAccount appleAccount);
	
	public Integer selectCount(DataRequest dataRequest);
	
	public List<AppleAccount> selectAppleAccountByCountry(AppleAccount appleAccount);
	
	public Integer updateAppleAccountByLua(Integer id);
}
